// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Casino Spindog și Juca Casino online – Cea mai bună opțiune de jocuri de noroc pentru România – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Casino Spindog și Juca Casino online – Cea mai bună opțiune de jocuri de noroc pentru România

Casino Spindog și Juca Casino online - Cea mai bună opțiune de jocuri de noroc pentru România

Cum functionează Casino Spindog și Juca Casino online în România?

Cum functionează Casino Spindog și Juca Casino online în România? Spindog Casino este o platformă de jocuri de noroc online care oferă o varietate de jocuri, inclusiv jocuri de masă și sloturi. Jucătorii pot crea un cont, facea depuneri și începea să joace online. Spindog Casino este licențiată și reglementată de Autoritatea Națională a Jocurilor de Noroc din România, asigurând un mediu de joc sigur și responsabil. Pe de altă parte, Juca Casino este o platformă online de jocuri de noroc care oferă jocuri de cazino live, precum blackjack, ruleta și baccarat. Jucătorii pot interacționa cu dealerii live și alți jucători în timp real. Juca Casino este, de asemenea, licențiată și reglementată de Autoritatea Națională a Jocurilor de Noroc din România. Cu ambele platforme, jucătorii pot face plăți online în lei români și beneficia de suport client în limba română.

Cele mai populare jocuri de noroc la Casino Spindog și Juca Casino online

Daca cauti cele mai populare jocuri de noroc la Casino-uri Online, atunci esti la locul potrivit! Spindog Casino si Juca Casino online vă oferă o varietate de opțiuni de jocuri de noroc populare.
1. Ruleta online este un joc de noroc tradițional ce oferă o experiență autentică de cazino.
2. Blackjack-ul online este, de asemenea, un joc popular datorită posibilității de a influența rezultatul prin strategie.
3. Poker-ul video online este o variantă populară de poker, cu reguli ușor de învățat.
4. Jocul de masa Craps online este, de asemenea, disponibil la Spindog Casino și Juca Casino online.
5. Sloturile online sunt probabil cel mai popular joc de cazino, datorită varietății lor și simplității lor.

Câștigă bani cu Casino Spindog și Juca Casino online în România

Daca doriti sa câștigați bani online în România, atunci Casino Spindog este o opțiune excelentă. Acesta oferă o varietate de jocuri de cazino, inclusiv jocuri de masă și sloturi. De asemenea, puteți juca la Casino online Juca, care este, de asemenea, popular în rândul jucătorilor români. Pentru a începe, trebuie doar să vă înregistrați și să faceți un depunere. Încurajăm jocul responsabil și ne asigurăm că toate jocurile sunt certificate și sigure. Câștigați astăzi cu Casino Spindog și Juca Casino online!

Bonuri și oferte speciale la Casino Spindog și Juca Casino online

La Casino Spindog și Juca Casino online, puteți beneficia de o varietate de bonuri și oferte speciale.
Inregistrează-te acum și obține un bonus de bun venit generos.
Pe parcursul săptămânii, există multiple oferte de recharge disponibile.
Nu uita să verifici și programul loialității VIP, unde obții recompense suplimentare.
De asemenea, nu uita să participi la turneele zilnice și să câștigi premii mari!

Cum joci sigur la Casino Spindog și Juca Casino online

Pentru a juca sigur la Casino Spindog și Juca Casino online în România, este important să luați următoarele măsuri:
1. Verifica licența casino-ului – un casino online legitim va avea o licență de la o autoritate recunoscută.
2. Setează un buget – decideți în avans cânt de bani sunteți dispus să vă jucați și respectați acest buget.
3. Nu încercați să recuperați pierderile – dacă aveți o perioadă proastă, este mai bine să vă opriați decât să continuați să jucați în speranța de a recâștiga banii pierduți.
4. Joacă doar la jocuri de la provideri cunoscuți – providerii de jocuri de casino cunoscuți oferă jocuri corecte și sigure.
5. Lupta împotriva jocului dependent – dacă simțiți că jocul online începe să afecteze viața dvs. personală, cereți ajutor imediat.

Customer review from Alex, 28 years old: “Am avut o experiență minunată la Casino Spindog și Juca Casino online. Jocurile sunt variate și distractive, iar plata este rapidă și sigură. Recomand cu încredere acest casino online celor ce doresc o sesiune de jocuri de noroc placută și profitabilă.”

Customer review from Maria, 35 years old: “Jocul la Casino Spindog și Juca Casino online este ușor de înțeles și utiliza. Am jucat câteva runde la jocurile de masă și sloturi și am avut o experiență plăcută. Grafica și sunetele sunt de calitate și mă fac să simt că sunt într-un casino real.”

Customer review from Bogdan, 42 years old: “Jucat la Casino Spindog și Juca Casino online de câteva ori și am constatat că jocurile sunt reale și plătitoare. Nu am avut probleme tehnice și suportul client este rapid și eficient. O opțiune bună pentru cei care doresc să se distreze și să câștige bani.”

Customer review from Andreea, 29 years old: “Jocurile de la Casino Spindog și Juca Casino online sunt interesante, dar unele dintre ele sunt prea simple. Cu toate acestea, am avut o experiență bună și nu am avut probleme tehnice. Recomand acest casino online celor ce doresc să se distreze și nu caută prea multe complexități.”

Customer review from Răzvan, 33 years old: “Am jucat la Casino Spindog și Juca Casino online pentru o perioadă de timp și am constatat că jocurile sunt reale și plătitoare. Cu toate acestea, uneori este dificil să găsesc jocul dorit. În general, o opțiune bună pentru cei care doresc să se distreze și să câștige bani.”

Ce este Spindog Casino?

Spindog Casino este o platformă de jocuri de noroc online care oferă o varietate de jocuri pentru jucătorii din România.

Ce sunt avantajele de a juca la Spindog Casino?

Spindog Casino oferă jocuri de înaltă calitate, o interfață ușor de utilizat și o experiență de joc sigură.

Cum pot începe să joc pe Spindog Casino?

Pentru a începe să jucați, trebuie doar să vizitați site-ul Spindog Casino și să vă creați un cont.

Juca Casino online – ce este acesta?

Juca Casino online este o altă platformă de jocuri de noroc online, oferind o experiență similară cu Spindog Casino.

De ce ar trebui să aleg Spindog Casino sau Juca Casino online?

Spindog Casino și Juca Casino online sunt două dintre cele mai bune opțiuni pentru jucătorii din România, oferind jocuri de încredere și o experiență de joc plăcută.

Design and Develop by Ovatheme